#include "IdentificadorGenerico.h"

/* 
 * @resume: construtor da classe IdentificadorGenerico
 */
IdentificadorGenerico::IdentificadorGenerico() {

}

/* 
 * @resume: construtor da classe IdentificadorGenerico
 * @param: string identificador,int categoria, int nivel, string procedimentoPai,int linha
 */
IdentificadorGenerico::IdentificadorGenerico(string identificador,
		int categoria, int nivel, string procedimentoPai, int linha) {

	setIdentificador(identificador);
	setCategoriaIdentificador(categoria);
	setNivelIdentificador(nivel);
	setProcedimentoPaiIdentificador(procedimentoPai);
	setLinhaIdentificador(linha);
}

/* 
 * @resume: destrutor da classe IdentificadorGenerico
 */
IdentificadorGenerico::~IdentificadorGenerico() {

}

/* 
 * @resume: metodo para setar o identificador
 * @param: string identificador
 */
void IdentificadorGenerico::setIdentificador(string identificador) {
	this->identificador = identificador;
}

/* 
 * @resume: metodo para setar o a categoria do identificador
 * @param: int categoria
 */
void IdentificadorGenerico::setCategoriaIdentificador(int categoria) {
	this->categoriaIdentificador = categoria;
}

/* 
 * @resume: metodo para setar o nivel do identificador
 * @param: int nivel
 */
void IdentificadorGenerico::setNivelIdentificador(int nivel) {
	this->nivelIdentificador = nivel;
}

/* 
 * @resume: metodo para setar o nome do procedimento do pai do identificador
 * @param: string procedimentoPai
 */
void IdentificadorGenerico::setProcedimentoPaiIdentificador(
		string procedimentoPai) {
	this->procedimentoPaiIdentificador = procedimentoPai;
}

/* 
 * @resume: metodo para setar a linha do identificador
 * @param: int linha
 */
void IdentificadorGenerico::setLinhaIdentificador(int linha) {
	this->linhaIdentificador = linha;
}

/* 
 * @resume: metodo para obter o identificador
 * @return: string identificador
 */
string IdentificadorGenerico::getIdentificador() {
	return (this->identificador);
}

/* 
 * @resume: metodo para obter a categoria do identificador
 * @return: int categoriaIdentificador
 */
int IdentificadorGenerico::getCategoriaIdentificador() const {
	return (this->categoriaIdentificador);
}

/* 
 * @resume: metodo para obter o nivel do identificador
 * @return: int nivelIdentificador
 */
int IdentificadorGenerico::getNivelIdentificador() const {
	return (this->nivelIdentificador);
}

/* 
 * @resume: metodo para obter o nome do procedimento do pai do identificador
 * @return: string procedimentoPaiIdentificador
 */
string IdentificadorGenerico::getProcedimentoPaiIdentificador() const {
	return (this->procedimentoPaiIdentificador);
}

/* 
 * @resume: metodo para obter a linha do identificador
 * @return: int linhaIdentificador
 */
int IdentificadorGenerico::getLinhaIdentificador() const {
	return (this->linhaIdentificador);
}

/* 
 * @resume: metodo para transformar um num em string
 * @return: string num
 */
string IdentificadorGenerico::IntToString(int num) {
	stringstream out;
	out << num;
	return (out.str());
}
